LEADTOOLS JPEG 2000 (Leadtools.Jpeg2000 assembly)
LEAD Technologies, Inc

ReadFrames(RasterCodecs,String,List<Int32>,Int32,CodecsLoadByteOrder) Method

Example 





The Leadtools.Codecs.RasterCodecs object.
System.String containing the name of the JPEG 2000 image file which has the frames being loaded.
Frame indices. A list of integers specifying the indices of the frames to be loaded from the file.
Resulting image pixel depth. If this value is zero [0], the image will have the original file's pixel depth (the image will not be converted).

Color order for 16-, 24-, 32-, 48-, and 64-bit images. If the resulting image is less than 16 bits per pixel, this will have no effect since palletized images do not use color order. Valid values are as follows:

Value Meaning
CodecsLoadByteOrder.Rgb Red, green, and blue color order in memory
CodecsLoadByteOrder.Bgr Blue, green, and red color order in memory
CodecsLoadByteOrder.Gray 12- or 16-bit grayscale image. 12- and 16-bit grayscale images are supported only in the Document/Medical Imaging editions.
CodecsLoadByteOrder.RgbOrGray Load the image as red, green, blue OR as a 12- or 16-bit grayscale image. 12- and 16-bit grayscale images are supported only in the Document/Medical Imaging editions.
CodecsLoadByteOrder.BgrOrGray Load the image as blue, green, red OR as a 12- or 16-bit grayscale image. 12- and 16-bit grayscale images are supported only in the Document/Medical Imaging editions.
CodecsLoadByteOrder.Romm ROMM order. ROMM only supports 24- and 48-bit images.
CodecsLoadByteOrder.BgrOrGrayOrRomm Load the image as red, green, blue OR as a 12- or 16-bit grayscale image OR as ROMM. 12- and 16-bit grayscale images are supported only in the Document/Medical Imaging editions. ROMM only supports 24- and 48-bit color images.

Loads the specified frame images (i.e. CompositeJpxImages.ColorImage, CompositeJpxImages.OpacityImage, and CompositeJpxImages.PreOpacityImage) from the specified JPEG 2000 file using the specified options.
Syntax
'Declaration
 
Public Overloads Function ReadFrames( _
   ByVal codecs As RasterCodecs, _
   ByVal fileName As String, _
   ByVal frames As List(Of Integer), _
   ByVal bitsPerPixel As Integer, _
   ByVal order As CodecsLoadByteOrder _
) As List(Of CompositeJpxImages)
'Usage
 
Dim instance As Jpeg2000Engine
Dim codecs As RasterCodecs
Dim fileName As String
Dim frames As List(Of Integer)
Dim bitsPerPixel As Integer
Dim order As CodecsLoadByteOrder
Dim value As List(Of CompositeJpxImages)
 
value = instance.ReadFrames(codecs, fileName, frames, bitsPerPixel, order)
 function Leadtools.Jpeg2000.Jpeg2000Engine.ReadFrames(RasterCodecs,String,List{Int32},Int32,CodecsLoadByteOrder)( 
   codecs ,
   fileName ,
   frames ,
   bitsPerPixel ,
   order 
)

Parameters

codecs
The Leadtools.Codecs.RasterCodecs object.
fileName
System.String containing the name of the JPEG 2000 image file which has the frames being loaded.
frames
Frame indices. A list of integers specifying the indices of the frames to be loaded from the file.
bitsPerPixel
Resulting image pixel depth. If this value is zero [0], the image will have the original file's pixel depth (the image will not be converted).
order

Color order for 16-, 24-, 32-, 48-, and 64-bit images. If the resulting image is less than 16 bits per pixel, this will have no effect since palletized images do not use color order. Valid values are as follows:

Value Meaning
CodecsLoadByteOrder.Rgb Red, green, and blue color order in memory
CodecsLoadByteOrder.Bgr Blue, green, and red color order in memory
CodecsLoadByteOrder.Gray 12- or 16-bit grayscale image. 12- and 16-bit grayscale images are supported only in the Document/Medical Imaging editions.
CodecsLoadByteOrder.RgbOrGray Load the image as red, green, blue OR as a 12- or 16-bit grayscale image. 12- and 16-bit grayscale images are supported only in the Document/Medical Imaging editions.
CodecsLoadByteOrder.BgrOrGray Load the image as blue, green, red OR as a 12- or 16-bit grayscale image. 12- and 16-bit grayscale images are supported only in the Document/Medical Imaging editions.
CodecsLoadByteOrder.Romm ROMM order. ROMM only supports 24- and 48-bit images.
CodecsLoadByteOrder.BgrOrGrayOrRomm Load the image as red, green, blue OR as a 12- or 16-bit grayscale image OR as ROMM. 12- and 16-bit grayscale images are supported only in the Document/Medical Imaging editions. ROMM only supports 24- and 48-bit color images.

Return Value

The CompositeJpxImages list that this method loads.
Remarks
All engine boxes will be reset.
Example
 
Public Sub ReadFramesStringExample()
      ' Load a JPEG 2000 image
      Dim engine As New Jpeg2000Engine()
      Dim fileInfo As Jpeg2000FileInformation = engine.GetFileInformation(Path.Combine(LEAD_VARS.ImagesDir, "image1.jpx"))
      If (fileInfo.Frame.GetLength(0) < 2) Then
         Return
      End If

      Dim codecs As New RasterCodecs()
      codecs.ThrowExceptionsOnInvalidImages = True
      Dim frames As New List(Of Integer)
      frames.Add(1)
      Dim images As List(Of CompositeJpxImages) = engine.ReadFrames(codecs, Path.Combine(LEAD_VARS.ImagesDir, "image1.jpx"), frames, 0, CodecsLoadByteOrder.BgrOrGray)

      '  Clean up
      Dim _image As CompositeJpxImages
      For Each _image In images
         If Not _image.ColorImage Is Nothing Then
            _image.ColorImage.Dispose()
         End If

         If Not _image.OpacityImage Is Nothing Then
            _image.OpacityImage.Dispose()
         End If

         If Not _image.PreOpacityImage Is Nothing Then
            _image.PreOpacityImage.Dispose()
         End If
      Next _image
      codecs.Dispose()
   End Sub

Public NotInheritable Class LEAD_VARS
   Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class
public void ReadFramesStringExample()
   {
      // Load a JPEG 2000 image
      Jpeg2000Engine engine = new Jpeg2000Engine();
      Jpeg2000FileInformation fileInfo = engine.GetFileInformation(Path.Combine(LEAD_VARS.ImagesDir, "image1.jpx"));
      if (fileInfo.Frame.GetLength(0) < 2)
         return;

      RasterCodecs codecs = new RasterCodecs();
      codecs.ThrowExceptionsOnInvalidImages = true;
      List<int> frames = new List<int>();
      frames.Add(1);
      List<CompositeJpxImages> images = engine.ReadFrames(codecs, Path.Combine(LEAD_VARS.ImagesDir, "image1.jpx"), frames, 0, CodecsLoadByteOrder.BgrOrGray);
      // Clean up
      foreach (CompositeJpxImages image in images)
      {
         if (image.ColorImage != null)
            image.ColorImage.Dispose();

         if (image.OpacityImage != null)
            image.OpacityImage.Dispose();

         if (image.PreOpacityImage != null)
            image.PreOpacityImage.Dispose();
      }
      codecs.Dispose();
   }

static class LEAD_VARS
{
   public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
}
Requirements

Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

See Also

Reference

Jpeg2000Engine Class
Jpeg2000Engine Members
Overload List
AppendFrames
Load
LoadComposite
ReadFrames
Save
SaveComposite
Compression Using LEAD and JPEG Formats
File Formats - JPEG And LEAD Compressed
Bitmaps In Memory And In Files
JPEG2000 File Comments
JPEG And LEAD File Comments
Programming with JPEG 2000 Features
JPEG 2000 Boxes

 

 


Products | Support | Contact Us | Copyright Notices

© 2006-2012 All Rights Reserved. LEAD Technologies, Inc.

Leadtools.Jpeg2000 requires a Document or Medical toolkit license and unlock key. For more information, refer to: LEADTOOLS Toolkit Features